package ar.edu.utn.frsf.tpae.a2013.g02.persistence.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;

/**
 * Objeto del modelo de datos (persistente). Representa un Usuario
 * 
 * @author TPAE-grupo02
 * 
 */

@Entity
@Table(name = "usr")
@Inheritance(strategy = InheritanceType.JOINED)
public class Usuario implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "usr_id")
	@SequenceGenerator(name = "SecuenciaUsuario", sequenceName = "seq_usr", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SecuenciaUsuario")
	private Integer id;

	@Column(name = "usr_usr")
	private String usuario;

	@Column(name = "usr_pwd")
	private String password;

	@Column(name = "usr_ape")
	private String apellido;

	@Column(name = "usr_nom")
	private String nombre;

	@Column(name = "usr_dni")
	private String dni;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public boolean equals(Object arg0) {
		if (!(arg0 instanceof Usuario)) {
			return false;
		}
		return this.getId() == ((Usuario) arg0).getId();
	}

}
